﻿@model SGCC.Models.FiltroFuncionario
@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";

    //Cria uma lista com todas as especialidades
    List<SelectListItem> listaEspecialidades = new List<SelectListItem>();
    listaEspecialidades.Add(new SelectListItem()
    {
        Text = "Selecione a especialidade",
        Value = "0",
        Selected = true
    });
    var especialidades = new SGCC.Models.EspecialidadeModel().ListarEspecialidades();

    foreach (SGCC.Especialidade e in especialidades)
    {
        listaEspecialidades.Add(new SelectListItem()
        {
            Text = e.Nome,
            Value = Convert.ToString(e.EspecialidadeId),
            Selected = false
        });
    }

    ViewBag.especialidades = listaEspecialidades;
}

<h2>Funcionários</h2>

<table class="tabela-cadastros">
@Html.ValidationSummary(true)
@using (Html.BeginForm("BuscarFuncionario", "Funcionario", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    <tr>
        <td class="cad-titulo"><label>@Html.LabelFor(f => f.Nome)</label></td>
        <td>@Html.TextBoxFor(f => f.Nome, new { @class = "cad-input" })</td>
    </tr>
    <tr>
        <td class="cad-titulo"><label>@Html.LabelFor(f => f.CPF)</label></td>
        <td>@Html.TextBoxFor(f => f.CPF, new { @class = "cad-input" })</td>
    </tr>    
        <tr>
        <td class="cad-titulo"><label>@Html.LabelFor(f => f.Especialidade)</label></td>
        <td>@Html.DropDownListFor(f => f.Especialidade, (List<SelectListItem>)ViewBag.especialidades, new { @class = "cad-input" })</td>
    </tr>
    
    <tr>
        <td class="cad-titulo"><label for="ddEstado">@Html.LabelFor(f => f.Estado)</label></td>
        <td><select class="cad-input" id="ddEstado"></select></td>
    </tr>

    <tr>
        <td class="cad-titulo"><label for="ddCidade">@Html.LabelFor(f => f.Cidade)</label></td>
        <td><select class="cad-input" id="ddCidade"></select></td>
    </tr>

    <tr>
        <td class="cad-titulo"><label>@Html.LabelFor(f => f.Logradouro)</label></td>
        <td>@Html.TextBoxFor(f => f.Logradouro, new { @class = "cad-input" })</td>
        <td>@Html.ValidationMessageFor(f => f.Logradouro)</td>
    </tr>
    
    <tr>
        <td class="td-Enviar" colspan="2">
            <input type="reset" value="Limpar" />
            <input type="submit" value="Buscar" />
        </td>
    </tr>
    
    @Html.HiddenFor(f => f.Estado)
    @Html.HiddenFor(f => f.Cidade)    
}
</table>

<br /><br /><br />

@Html.ActionLink("Adicionar Funcionário", "AdicionarFuncionario", "Funcionario", new { @class = "icon-add" })

<table class="mws-table base-datatable">
    <thead>
        <tr>
            <th>Nome</th>
            <th>CPF</th>
            <th>Data Nasc.</th>
            <th>Telefone</th>
            <th>Especialidade</th>
            <th>Estado</th>
            <th>Cidade</th>
            <th>Logradouro</th>
            <th colspan="2">Ações</th>
        </tr>
    </thead>
    <tbody>
        @foreach (SGCC.Models.FuncionarioConsulta f in ViewBag.resultado)
        {
            <tr>
                <td class="column-actions">@f.Nome</td>
                <td class="column-actions">@f.CPF</td>
                <td class="column-actions">@string.Format("{0:dd/MM/yyyy}", f.DataNasc)</td>
                <td class="column-actions">@f.Telefone</td>
                <td class="column-actions">@f.Especialidade</td>
                <td class="column-actions">@f.UF</td>
                <td class="column-actions">@f.Cidade</td>
                <td class="column-actions">@f.Logradouro</td>
                <td>@Html.ActionLink("Editar", "Editar", new { id = f.Id }, new { @class = "icon-edit" })</td>
                <td>@Html.ActionLink("Desativar", "Desativar", new { id = f.Id }, new { @class = "icon-delete", onclick = "return confirm('Deseja desativar este funcionário?');" })</td>
            </tr>    
        }
    </tbody>
</table>

<script>
    function carregarEstados() {
        $.getJSON('/estado/get', function (data, status) {
            var estados = $("#ddEstado");

            estados.empty();

            var option = $("<option />");
            option.attr("value", 0).text("Selecione um estado");
            estados.append(option);

            $.each(data, function (i, item) {
                option = $("<option />");
                option.attr("value", item.Id).text(item.Sigla);
                estados.append(option);
            });

            $('#ddEstado option[value="0"]').attr('selected', 'selected');

            carregarCidades();
        });
    }

    function carregarCidades() {
        var estado = $("#ddEstado option:selected").val();

        $("#Estado").val(estado);

        $.getJSON('/cidade/get?uf=' + estado, function (data) {
            var cidades = $("#ddCidade");

            cidades.empty();

            var option = $("<option />");
            option.attr("value", 0).text("Selecione uma cidade");
            cidades.append(option);

            $.each(data, function (i, item) {
                option = $("<option />");
                option.attr("value", item.Id).text(item.Nome);
                cidades.append(option);
            });

            var cidade = $("#cidadeId").val();

            $('#ddCidade option[value="0"]').prop('selected', true);
        });
    }

    $("#ddEstado").change(function (evt) {
        carregarCidades();
    });

    $("#ddCidade").change(function (evt) {
        var cidade = $("#ddCidade option:selected").val();

        $("#Cidade").val(cidade);
    });

    carregarEstados();

</script>